﻿<style>
    table {
        border-collapse: collapse;
        border: 1px solid;
        border-color: rgb(211, 202, 221);
    }

    table thead,
    table tr {
        border-top-width: 1px;
        border-top-style: solid;
        border-top-color: rgb(211, 202, 221);
    }

    table {
        border-bottom-width: 1px;
        border-bottom-style: solid;
        border-bottom-color: rgb(211, 202, 221);
    }

    table td,
    table th {
        padding: 5px 10px;
        font-size: 14px;
        font-family: Verdana;
        color: rgb(95, 74, 121);
    }

    table tr:nth-child(even) {
        background: rgb(223, 216, 232)
    }

    table tr:nth-child(odd) {
        background: #FFF
    }
</style>
<h3>用户链接（UserConnect）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>ID</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Provider</td>
            <td>提供商</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UserID</td>
            <td>用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>本地用户</td>
        </tr>

        <tr>
            <td>OpenID</td>
            <td>身份标识</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>用户名、OpenID</td>
        </tr>

        <tr>
            <td>UnionID</td>
            <td>全局标识</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>跨应用统一</td>
        </tr>

        <tr>
            <td>LinkID</td>
            <td>用户编号</td>
            <td>Int64</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>第三方用户编号</td>
        </tr>

        <tr>
            <td>NickName</td>
            <td>昵称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>DeviceId</td>
            <td>设备标识</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>企业微信用于唯一标识设备，重装后改变</td>
        </tr>

        <tr>
            <td>Avatar</td>
            <td>头像</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>AccessToken</td>
            <td>访问令牌</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>RefreshToken</td>
            <td>刷新令牌</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Expire</td>
            <td>过期时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserID</td>
            <td>更新用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>备注</td>
            <td>String</td>
            <td>5000</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>OAuth日志（OAuthLog）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int64</td>
            <td></td>
            <td></td>
            <td title="主键">PK</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Provider</td>
            <td>提供商</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>ConnectId</td>
            <td>链接</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UserId</td>
            <td>用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Action</td>
            <td>操作</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Success</td>
            <td>成功</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>RedirectUri</td>
            <td>回调地址</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>ResponseType</td>
            <td>响应类型</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>默认code</td>
        </tr>

        <tr>
            <td>Scope</td>
            <td>授权域</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>State</td>
            <td>状态数据</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Source</td>
            <td>来源</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>AccessToken</td>
            <td>访问令牌</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>RefreshToken</td>
            <td>刷新令牌</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>TraceId</td>
            <td>追踪</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>链路追踪，用于APM性能追踪定位，还原该事件的调用链</td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>详细信息</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>OAuth配置（OAuthConfig）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>ID</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Name</td>
            <td>名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td title="唯一索引">UQ</td>
            <td>N</td>
            <td>提供者名称</td>
        </tr>

        <tr>
            <td>NickName</td>
            <td>昵称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Logo</td>
            <td>图标</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>AppId</td>
            <td>应用标识</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Secret</td>
            <td>应用密钥</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Server</td>
            <td>服务地址</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>AccessServer</td>
            <td>令牌服务地址</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>可以不同于验证地址的内网直达地址</td>
        </tr>

        <tr>
            <td>GrantType</td>
            <td>授权类型</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Scope</td>
            <td>授权范围</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>AuthUrl</td>
            <td>验证地址</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>跳转SSO的验证地址</td>
        </tr>

        <tr>
            <td>AccessUrl</td>
            <td>令牌地址</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>根据code换取令牌的地址</td>
        </tr>

        <tr>
            <td>UserUrl</td>
            <td>用户地址</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>根据令牌获取用户信息的地址</td>
        </tr>

        <tr>
            <td>AppUrl</td>
            <td>应用地址</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>域名和端口，应用系统经过反向代理重定向时指定外部地址</td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Debug</td>
            <td>调试</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>设置处于调试状态，输出详细日志</td>
        </tr>

        <tr>
            <td>Visible</td>
            <td>可见</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>是否在登录页面可见，不可见的提供者只能使用应用内自动登录，例如微信公众号</td>
        </tr>

        <tr>
            <td>AutoRegister</td>
            <td>自动注册</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>SSO登录后，如果本地没有匹配用户，自动注册新用户，否则跳到登录页，在登录后绑定</td>
        </tr>

        <tr>
            <td>AutoRole</td>
            <td>自动角色</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>该渠道登录的用户，将会自动得到指定角色名，多个角色逗号隔开</td>
        </tr>

        <tr>
            <td>Sort</td>
            <td>排序</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>较大者在前面</td>
        </tr>

        <tr>
            <td>SecurityKey</td>
            <td>安全密钥</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td>公钥，用于RSA加密用户密码，在通信链路上保护用户密码安全，密钥前面可以增加keyName，形成keyName$keyValue，用于向服务端指示所使用的密钥标识，方便未来更换密钥。</td>
        </tr>

        <tr>
            <td>FieldMap</td>
            <td>字段映射</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td>SSO用户字段如何映射到OAuthClient内部属性</td>
        </tr>

        <tr>
            <td>FetchAvatar</td>
            <td>抓取头像</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>是否抓取头像并保存到本地</td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserID</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>内容</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>用户令牌（UserToken）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>ID</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Token</td>
            <td>令牌</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td title="唯一索引">UQ</td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Url</td>
            <td>地址</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>锁定该令牌只能访问该资源路径</td>
        </tr>

        <tr>
            <td>UserID</td>
            <td>用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>本地用户</td>
        </tr>

        <tr>
            <td>Expire</td>
            <td>过期时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Times</td>
            <td>次数</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>该令牌使用次数</td>
        </tr>

        <tr>
            <td>FirstIP</td>
            <td>首次地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>FirstTime</td>
            <td>首次时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>LastIP</td>
            <td>最后地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>LastTime</td>
            <td>最后时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserID</td>
            <td>更新用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>备注</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>用户在线（UserOnline）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>ID</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UserID</td>
            <td>用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>当前登录人</td>
        </tr>

        <tr>
            <td>Name</td>
            <td>名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>当前登录人，或根据设备标识推算出来的使用人</td>
        </tr>

        <tr>
            <td>SessionID</td>
            <td>会话</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>Web的SessionID或Server的会话编号</td>
        </tr>

        <tr>
            <td>OAuthProvider</td>
            <td>登录方</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>OAuth提供商，从哪个渠道登录</td>
        </tr>

        <tr>
            <td>Times</td>
            <td>次数</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Page</td>
            <td>页面</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Platform</td>
            <td>平台</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>操作系统平台，Windows/Linux/Android等</td>
        </tr>

        <tr>
            <td>OS</td>
            <td>系统</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>操作系统，带版本</td>
        </tr>

        <tr>
            <td>Device</td>
            <td>设备</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>手机品牌型号</td>
        </tr>

        <tr>
            <td>Brower</td>
            <td>浏览器</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>浏览器名称，带版本</td>
        </tr>

        <tr>
            <td>NetType</td>
            <td>网络</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>微信访问时，感知到WIFI或4G网络</td>
        </tr>

        <tr>
            <td>DeviceId</td>
            <td>设备标识</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>唯一标识设备，位于浏览器Cookie，重装后改变</td>
        </tr>

        <tr>
            <td>Status</td>
            <td>状态</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>OnlineTime</td>
            <td>在线时间</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>本次在线总时间，秒</td>
        </tr>

        <tr>
            <td>LastError</td>
            <td>最后错误</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>TraceId</td>
            <td>追踪</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>链路追踪，用于APM性能追踪定位，还原该事件的调用链</td>
        </tr>

        <tr>
            <td>Address</td>
            <td>地址</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>根据IP计算</td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>修改时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>用户统计（UserStat）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>ID</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Date</td>
            <td>统计日期</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td title="唯一索引">UQ</td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Total</td>
            <td>总数</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>总用户数</td>
        </tr>

        <tr>
            <td>Logins</td>
            <td>登录数</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>总登录数</td>
        </tr>

        <tr>
            <td>OAuths</td>
            <td>OAuth登录</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>OAuth总登录数</td>
        </tr>

        <tr>
            <td>MaxOnline</td>
            <td>最大在线</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>最大在线用户数</td>
        </tr>

        <tr>
            <td>Actives</td>
            <td>活跃</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>今天活跃用户数</td>
        </tr>

        <tr>
            <td>ActivesT7</td>
            <td>7天活跃</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>7天活跃用户数</td>
        </tr>

        <tr>
            <td>ActivesT30</td>
            <td>30天活跃</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>30天活跃用户数</td>
        </tr>

        <tr>
            <td>News</td>
            <td>新用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>今天注册新用户数</td>
        </tr>

        <tr>
            <td>NewsT7</td>
            <td>7天注册</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>7天内注册新用户数</td>
        </tr>

        <tr>
            <td>NewsT30</td>
            <td>30天注册</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>30天注册新用户数</td>
        </tr>

        <tr>
            <td>OnlineTime</td>
            <td>在线时间</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>累计在线总时间，秒</td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>详细信息</td>
            <td>String</td>
            <td>1000</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>应用系统（OAuthApp）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Name</td>
            <td>名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td title="唯一索引">UQ</td>
            <td>N</td>
            <td>AppID</td>
        </tr>

        <tr>
            <td>DisplayName</td>
            <td>显示名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Secret</td>
            <td>密钥</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>AppSecret</td>
        </tr>

        <tr>
            <td>HomePage</td>
            <td>首页</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Logo</td>
            <td>图标</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>附件路径</td>
        </tr>

        <tr>
            <td>White</td>
            <td>白名单</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Black</td>
            <td>黑名单</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>黑名单优先于白名单</td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>TokenExpire</td>
            <td>有效期</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>访问令牌AccessToken的有效期，单位秒，默认使用全局设置</td>
        </tr>

        <tr>
            <td>Urls</td>
            <td>回调地址</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td>用于限制回调地址安全性，多个地址逗号隔开</td>
        </tr>

        <tr>
            <td>RoleIds</td>
            <td>授权角色</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>只允许这些角色登录该系统，多个角色逗号隔开，未填写时表示不限制</td>
        </tr>

        <tr>
            <td>Scopes</td>
            <td>能力集合</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>逗号分隔，password，client_credentials</td>
        </tr>

        <tr>
            <td>OAuths</td>
            <td>三方OAuth</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>本系统作为OAuthServer时，该应用前来验证时可用的第三方OAuth提供商，多个逗号隔开</td>
        </tr>

        <tr>
            <td>Expired</td>
            <td>过期时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td>空表示永不过期</td>
        </tr>

        <tr>
            <td>Auths</td>
            <td>次数</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>LastAuth</td>
            <td>最后请求</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserID</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>内容</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>应用日志（AppLog）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int64</td>
            <td></td>
            <td></td>
            <td title="主键">PK</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>AppId</td>
            <td>应用</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Action</td>
            <td>操作</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Success</td>
            <td>成功</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>ClientId</td>
            <td>应用标识</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>RedirectUri</td>
            <td>回调地址</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>ResponseType</td>
            <td>响应类型</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>默认code</td>
        </tr>

        <tr>
            <td>Scope</td>
            <td>授权域</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>State</td>
            <td>状态数据</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>AccessToken</td>
            <td>访问令牌</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>RefreshToken</td>
            <td>刷新令牌</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>TraceId</td>
            <td>追踪</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>链路追踪，用于APM性能追踪定位，还原该事件的调用链</td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>详细信息</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUser</td>
            <td>创建者</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>可以是设备编码等唯一使用者标识</td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>附件（Attachment）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int64</td>
            <td></td>
            <td></td>
            <td title="主键">PK</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Category</td>
            <td>业务分类</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Key</td>
            <td>业务主键</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Title</td>
            <td>标题</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>业务内容作为附件标题，便于查看管理</td>
        </tr>

        <tr>
            <td>FileName</td>
            <td>文件名</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>原始文件名</td>
        </tr>

        <tr>
            <td>Extension</td>
            <td>扩展名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Size</td>
            <td>文件大小</td>
            <td>Int64</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>ContentType</td>
            <td>内容类型</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>用于Http响应</td>
        </tr>

        <tr>
            <td>FilePath</td>
            <td>路径</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>本地相对路径或OSS路径，本地相对路径加上附件目录的配置，方便整体转移附件</td>
        </tr>

        <tr>
            <td>Hash</td>
            <td>哈希</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>MD5</td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UploadTime</td>
            <td>上传时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td>附件上传时间，可用于构造文件存储路径</td>
        </tr>

        <tr>
            <td>Url</td>
            <td>网址</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td>链接到附件所在信息页的地址</td>
        </tr>

        <tr>
            <td>Source</td>
            <td>来源</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td>用于远程抓取的附件来源地址，本地文件不存在时自动依次抓取</td>
        </tr>

        <tr>
            <td>TraceId</td>
            <td>追踪</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>链路追踪，用于APM性能追踪定位，还原该事件的调用链</td>
        </tr>

        <tr>
            <td>CreateUser</td>
            <td>创建者</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUser</td>
            <td>更新者</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserID</td>
            <td>更新用户</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>备注</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>应用插件（AppModule）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Name</td>
            <td>名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>DisplayName</td>
            <td>显示名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Type</td>
            <td>类型</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>.NET/Javascript/Lua</td>
        </tr>

        <tr>
            <td>ClassName</td>
            <td>类名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>完整类名</td>
        </tr>

        <tr>
            <td>FilePath</td>
            <td>文件</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>插件文件包，zip压缩</td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUser</td>
            <td>创建人</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUserId</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUser</td>
            <td>更新人</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserId</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>描述</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>模型表（ModelTable）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Category</td>
            <td>分类</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Name</td>
            <td>名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>DisplayName</td>
            <td>显示名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Url</td>
            <td>路径</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>全路径</td>
        </tr>

        <tr>
            <td>Controller</td>
            <td>控制器</td>
            <td>String</td>
            <td>100</td>
            <td></td>
            <td></td>
            <td></td>
            <td>控制器类型全名</td>
        </tr>

        <tr>
            <td>TableName</td>
            <td>表名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>ConnName</td>
            <td>连接名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>InsertOnly</td>
            <td>仅插入</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>日志型数据</td>
        </tr>

        <tr>
            <td>Description</td>
            <td>说明</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUserId</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserId</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>模型列（ModelColumn）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>TableId</td>
            <td>模型表</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Name</td>
            <td>名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>DisplayName</td>
            <td>显示名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>DataType</td>
            <td>数据类型</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>ItemType</td>
            <td>元素类型</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>image,file,html,singleSelect,multipleSelect</td>
        </tr>

        <tr>
            <td>PrimaryKey</td>
            <td>主键</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Master</td>
            <td>主字段</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>主字段作为业务主要字段，代表当前数据行意义</td>
        </tr>

        <tr>
            <td>Length</td>
            <td>长度</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Nullable</td>
            <td>允许空</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>IsDataObjectField</td>
            <td>数据字段</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Description</td>
            <td>说明</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>ShowInList</td>
            <td>列表页显示</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>ShowInAddForm</td>
            <td>添加表单页显示</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>ShowInEditForm</td>
            <td>编辑表单页显示</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>ShowInDetailForm</td>
            <td>详情表单页显示</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>ShowInSearch</td>
            <td>搜索显示</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Sort</td>
            <td>排序</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Width</td>
            <td>宽度</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CellText</td>
            <td>单元格文字</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CellTitle</td>
            <td>单元格标题</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>数据单元格上的提示文字</td>
        </tr>

        <tr>
            <td>CellUrl</td>
            <td>单元格链接</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>数据单元格的链接</td>
        </tr>

        <tr>
            <td>HeaderText</td>
            <td>头部文字</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>HeaderTitle</td>
            <td>头部标题</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>数据移上去后显示的文字</td>
        </tr>

        <tr>
            <td>HeaderUrl</td>
            <td>头部链接</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>一般是排序</td>
        </tr>

        <tr>
            <td>DataAction</td>
            <td>数据动作</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>设为action时走ajax请求</td>
        </tr>

        <tr>
            <td>DataSource</td>
            <td>多选数据源</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUserId</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserId</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>定时作业（CronJob）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Name</td>
            <td>名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td title="唯一索引">UQ</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>DisplayName</td>
            <td>显示名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Cron</td>
            <td>Cron表达式</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>用于定时执行的Cron表达式</td>
        </tr>

        <tr>
            <td>Method</td>
            <td>命令</td>
            <td>String</td>
            <td>200</td>
            <td></td>
            <td></td>
            <td></td>
            <td>作业方法全名，含命名空间和类名，静态方法，包含一个String参数</td>
        </tr>

        <tr>
            <td>Argument</td>
            <td>参数</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td>方法参数，时间日期、网址、SQL等</td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>EnableLog</td>
            <td>启用日志</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>LastTime</td>
            <td>最后时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td>最后一次执行作业的时间</td>
        </tr>

        <tr>
            <td>NextTime</td>
            <td>下一次时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td>下一次执行作业的时间</td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserID</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>内容</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>委托代理（PrincipalAgent）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>PrincipalId</td>
            <td>委托人</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>把自己的身份权限委托给别人</td>
        </tr>

        <tr>
            <td>AgentId</td>
            <td>代理人</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>代理获得别人身份权限</td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Times</td>
            <td>次数</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>可用代理次数，0表示已用完，-1表示无限制</td>
        </tr>

        <tr>
            <td>Expire</td>
            <td>有效期</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td>截止时间之前有效，不设置表示无限制</td>
        </tr>

        <tr>
            <td>CreateUserId</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserId</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>内容</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>指令管理（OrderManager）</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Name</td>
            <td>指令名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Code</td>
            <td>指令编号</td>
            <td>String</td>
            <td>100</td>
            <td></td>
            <td title="唯一索引">UQ</td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>OptCategory</td>
            <td>操作类型</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Data</td>
            <td>数据</td>
            <td>String</td>
            <td>150</td>
            <td></td>
            <td></td>
            <td></td>
            <td>,进行后续操作依赖值</td>
        </tr>

        <tr>
            <td>DataType</td>
            <td>数据类型</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>,String、Int、Double、Decimal等</td>
        </tr>

        <tr>
            <td>Url</td>
            <td>请求地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Method</td>
            <td>请求方式</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>,GET、POST、PUT、DELETE</td>
        </tr>

        <tr>
            <td>ValueField</td>
            <td>值字段</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>LabelField</td>
            <td>文本字段</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUserId</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserId</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>内容</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
